/**   
*    
* @file
* @brief
*
* @<b>文件名</b>      : ReplyInfoParser
* @n@n<b>版权所有</b>: 网龙应用软件开发一部
* @n@n<b>作  者</b>  : Administrator
* @n@n<b>创建时间</b>: 2014-2-7 上午10:50:51 
* @n@n<b>文件描述</b>:  
* @version  
*/
package com.common.weibolib;

import org.json.JSONException;
import org.json.JSONObject;

/**
 * ClassName:ReplyInfoParser
 * Function: TODO ADD FUNCTION
 * Reason:	 TODO ADD REASON
 * 
 * @author   chenqian		
 * @version  
 * @since    Ver 1.1
 * @Date	 2014	2014-2-7		上午10:50:51
 *
 * @see 	 
 */

public class ReplyInfoParser extends AbstractObjParser<ReplyInfo>{

	/**
	 * @n<b>函数名称</b>     :parse
	 * @brief
	 * @see
	 * @since    Ver 1.1
	 * @param  @param json
	 * @param  @return
	 * @param  @throws JSONException
	 * @<b>作者</b>          :  chenqian
	 * @<b>创建时间</b>      :  2014-2-7上午10:51:22      
	*/
	
	@Override
	public ReplyInfo parse(JSONObject json) throws JSONException {
		ReplyInfo ri = new ReplyInfo();
		if(null == json){
			ri.user = new UserInfo();
			return ri;
		}
		ri.rid = json.optLong("rid");
		ri.content = json.optString("content");
		ri.post_time = json.optLong("post_time");
		ri.from_string = json.optString("from_string");
		ri.uid = json.optLong("uid");
		ri.user = new UserInfoParser().parse(json.optJSONObject("user"));
		ri.to_tid = json.optLong("to_tid");
		
		JSONObject toTopic = json.optJSONObject("to_topic");
		if(null != toTopic){
			ri.toTopic = new RootTopicParser().parse(toTopic);
		}
		
		ri.to_rid = json.optLong("to_rid");
		JSONObject toReply = json.optJSONObject("to_reply");
		if(null != toReply){
			ri.to_reply = new ToReplyParser().parse(toReply);
		}
		return ri;
	}

	/**
	 * @n<b>函数名称</b>     :toJSONObject
	 * @brief
	 * @see
	 * @since    Ver 1.1
	 * @param  @param t
	 * @param  @return
	 * @param  @throws JSONException
	 * @<b>作者</b>          :  chenqian
	 * @<b>创建时间</b>      :  2014-2-7上午10:51:22      
	*/
	
	@Override
	public JSONObject toJSONObject(ReplyInfo ri) throws JSONException {
		JSONObject json = new JSONObject();
		if(null == ri){
			return json;
		}
		json.put("rid", ri.rid);
		json.put("content", ri.content);
		json.put("post_time", ri.post_time);
		json.put("from_string", ri.from_string);
		json.put("uid", ri.uid);
		if(null != ri.user){
			json.put("user", new UserInfoParser().toJSONObject(ri.user));
		}		
		json.put("rid", ri.rid);
		if(null != ri.to_reply){
			json.put("to_reply", new ToReplyParser().toJSONObject(ri.to_reply));
		}
		return json;
	}

}
